JSON (JavaScript Object Notation) একটি সাধারণ ডেটা ফরম্যাট যা সাধারণত ওয়েব অ্যাপ্লিকেশন এবং API গুলিতে ডেটা এক্সচেঞ্জ করার জন্য ব্যবহৃত হয়। PHP ভাষায় JSON ডেটাকে অ্যারে বা অবজেক্টে রূপান্তর করতে json_decode() ফাংশন ব্যবহার করা হয়।
JSON থেকে PHP Array তে রূপান্তরের প্রক্রিয়া
JSON ডেটাকে PHP অ্যারে (Associative Array) তে রূপান্তর করার জন্য json_decode() ফাংশন ব্যবহার করা হয়। এই ফাংশন JSON স্ট্রিংকে PHP অ্যারে বা অবজেক্টে রূপান্তর করে।
json_decode() ফাংশনে দুটি প্রধান প্যারামিটার থাকে:
- $json: এটি হল JSON স্ট্রিং।
- $assoc: এটি একটি বুলিয়ান মান (true বা false)। যদি এটি true হয়, তাহলে JSON ডেটা PHP অ্যারে তে রূপান্তরিত হবে। যদি false থাকে, তাহলে ডেটা PHP অবজেক্টে রূপান্তরিত হবে।
উদাহরণ
ধরা যাক, আমাদের কাছে একটি JSON স্ট্রিং রয়েছে এবং আমরা সেটি PHP অ্যারে তে রূপান্তর করতে চাই।
JSON স্ট্রিং:
{
"name": "John",
"age": 30,
"city": "New York"
}
PHP কোড:
<?php
// JSON স্ট্রিং
$jsonData = '{"name": "John", "age": 30, "city": "New York"}';
// JSON থেকে PHP অ্যারে তে রূপান্তর
$array = json_decode($jsonData, true);
// অ্যারে প্রিন্ট করা
echo "<pre>";
print_r($array);
echo "</pre>";
?>
আউটপুট:
Array
(
[name] => John
[age] => 30
[city] => New York
)
এখানে:
- json_decode($jsonData, true): JSON স্ট্রিংকে PHP অ্যারে তে রূপান্তরিত করেছে।
print_r($array)ব্যবহার করে অ্যারের কনটেন্ট প্রিন্ট করা হয়েছে।
JSON থেকে PHP অ্যারে তে রূপান্তর করার সময় কিছু গুরুত্বপূর্ণ বিষয়
- Associative Array: যদি
json_decode()ফাংশনে দ্বিতীয় প্যারামিটারtrueদেওয়া হয়, তাহলে JSON অবজেক্ট PHP অ্যারে রূপান্তরিত হয়, যেখানে কী (key) গুলি অ্যারে ইনডেক্স হিসেবে কাজ করে। - Standard Object: যদি
json_decode()ফাংশনে দ্বিতীয় প্যারামিটারfalse(বা কিছুই দেওয়া না হয়), তাহলে JSON ডেটা একটি PHP স্ট্যান্ডার্ড অবজেক্টে রূপান্তরিত হবে। এর মানে হল যে আপনি অ্যাক্সেস করবেন->এর মাধ্যমে।
উদাহরণ (PHP Object):
<?php
// JSON স্ট্রিং
$jsonData = '{"name": "John", "age": 30, "city": "New York"}';
// JSON থেকে PHP অবজেক্টে রূপান্তর
$object = json_decode($jsonData);
// অবজেক্ট প্রিন্ট করা
echo "<pre>";
print_r($object);
echo "</pre>";
?>
আউটপুট (PHP Object):
stdClass Object
(
[name] => John
[age] => 30
[city] => New York
)
এখানে, JSON ডেটা stdClass অবজেক্টে রূপান্তরিত হয়েছে, এবং আপনি -> দিয়ে প্রপার্টি অ্যাক্সেস করতে পারবেন।
৩. Nested JSON to PHP Array
যদি JSON ডেটা নেস্টেড (অন্তর্ভুক্ত) অবজেক্ট বা অ্যারে থাকে, তাহলে json_decode() ফাংশন ঠিক মতো কাজ করবে এবং সেই নেস্টেড ডেটাকেও অ্যারে বা অবজেক্টে রূপান্তর করবে।
উদাহরণ:
{
"name": "John",
"age": 30,
"address": {
"street": "123 Main St",
"city": "New York"
}
}
PHP কোড:
<?php
// Nested JSON
$jsonData = '{"name": "John", "age": 30, "address": {"street": "123 Main St", "city": "New York"}}';
// JSON থেকে PHP অ্যারে তে রূপান্তর
$array = json_decode($jsonData, true);
// অ্যারে প্রিন্ট করা
echo "<pre>";
print_r($array);
echo "</pre>";
?>
আউটপুট:
Array
(
[name] => John
[age] => 30
[address] => Array
(
[street] => 123 Main St
[city] => New York
)
)
এখানে address একটি নেস্টেড অ্যারে হিসেবে প্রদর্শিত হয়েছে।
সারাংশ
JSON ডেটা PHP অ্যারে তে রূপান্তর করা খুবই সহজ এবং কার্যকরী প্রক্রিয়া। json_decode() ফাংশনের মাধ্যমে JSON ডেটা PHP অ্যারে বা অবজেক্টে রূপান্তর করা যায়, যা পরবর্তী ডেটা প্রসেসিং এবং ব্যবহারের জন্য খুবই উপকারী। আপনি যদি অ্যারে চান, তবে দ্বিতীয় প্যারামিটার হিসেবে true প্রদান করুন, আর অবজেক্ট চান, তবে false বা কিছু না লিখলেই হবে। JSON থেকে PHP অ্যারে তে রূপান্তর করা মূলত ওয়েব অ্যাপ্লিকেশন এবং API ডেটা ম্যানিপুলেশনে গুরুত্বপূর্ণ ভূমিকা রাখে।
Read more